<?php
namespace app\common\model;
use think\Model;
use think\Db;
class Common extends Model
{
	/**
	 * 获取列表
	 * @param array $where 查询条件
	 * @param string $order 排序条件
	 * @param intger $page 当前页数
	 * @param intger $row 每页条数
	 * @param string $search 关键字检索条件
	 */
	public function listData($where, $order, $page, $row, $search = '')
	{
		if($where === false) return [];
		if( $row == 'limit' ){
			return $this->where($search)->where($where)->order($order)->select();
		}
		return $this->where($search)->where($where)->order($order)->page($page, $row)->select();
	}
	/**
	 * 获取列表总条数
	 * @param array $where 查询条件
	 * @param string $order 排序条件
	 * @param string $search 关键字检索条件
	 */
	public function listCount($where, $order, $search = '')
	{
		if($where === false) return 0;
		return $this->where( $where )->where($search)->order($order)->count();
	}
	/**
	 * 产品名字组合
	 * @param array $goods 产品信息
	 */
	protected function goodsName($goods)
	{
		return $goods['goods_name'] . ' ' . $goods['brand_name'] . ' ' .$goods['memory_name'] . ' ' .$goods['attribute_name'] . ' ' .$goods['colour_name'] . ' ' .$goods['marker'];
	}
	/**
	 * 时间戳转换
	 */
	protected function date_time($time)
	{
		return $time > 0 ? date('Y-m-d H:i:s',$time) : '---';
	}
	/**
	 * 获取所有店铺
	 */
	public function getShop()
	{
		return Db::name('shop')->select();
	}
	/**
	* 获取提成比例
	* @param intger 	$admin_type  	用户类型
	* @param array 		$data 			参数
	*/
	protected function repairRatio($admin_type, $data)
	{
		switch($admin_type){
			case 2: return $data['sale_ratio'];break;
			case 3: return $data['repair_ratio'];break;
			default: return 0;break;
		}
	}
	/**
	* 维修提成
	* @param booleen 	$royalty_money 			维修提成
	* @param booleen 	$people_money 			维修盈利
	* @param intger 	$ratio  				提成比例
	*/
	protected function royaltyMoney($royalty_money, $people_money, $ratio)
	{
		return floor( ( intval(strval($royalty_money*100*100)) + intval(strval($people_money*100)) * intval(strval($ratio)) )/100)/100;
	}
	/**
	* 两数之和
	*/
	protected function doubleSum($num1, $num2)
	{
		return ( intval(strval($num1*100)) + intval(strval($num2*100)) )/100;
	}
	/**
	* 两数之差
	*/
	protected function doubleReduce($num1, $num2)
	{
		return ( intval(strval($num1*100)) - intval(strval($num2*100)) )/100;
	}
	/**
	* 两数相除
	*/
	protected function doubleExcept($money, $num)
	{
		return floor( intval(strval($money)) / intval($num) );
	}
}